package com.sjgl.esdn.mapper;

import com.sjgl.esdn.domain.entity.FileBrowse;
import com.sjgl.esdn.domain.entity.FileDownload;
import com.sjgl.esdn.domain.entity.FileManagement;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;
import java.util.List;

@Mapper
public interface FileManageMapper {

    List<FileManagement> fileAll();

    List<FileBrowse> fileAllBrowse(Long arg0);

    List<FileDownload> fileAllDownload(Long arg0);
    /**
     * 根据创建者查询文档信息
     * @param keyWord
     * @return
     */
    List<FileManagement> fileSearch(String keyWord);

    /**
     * 根据用户或部门查询文档浏览日志
     * @param arg0
     * @param arg1
     * @return
     */
    List<FileBrowse> fileBrowse(@Param("arg0")String arg0,@Param("arg1")Long arg1);

    Long findDeptidByuserid(Long arg0);

    Long findDeptid(Long arg0);//浏览

    Long findDeptid2(Long arg0);//下载

    String findDeptname(Long arg0);//根据文件部门id查找部门名字

    String findDeptnameBydeptid(Long arg0);//通过部门id找部门名字

    String findLeader(Long arg0);//根据部门id查找负责人名字

    String findAbandonName(Long arg0);//根据下架者id找下架者名字

    Long findAbandonDept(Long arg0);//根据文件id找下架者部门id

    String findAbandonDeptname(Long arg0);//根据部门id找部门名字

    Long findAbandonId(Long arg0);
    /**
     * 根据用户或部门查询文档下载日志
     * @param arg0
     ** @param arg1
     * @return
     */
    List<FileDownload> fileDownload(@Param("arg0")String arg0,@Param("fileId")Long arg1);

    /**
     * 更新文档属性
     * @param arg0
     * @param arg1
     * @param arg2
     * @param arg3
     * @return
     */
    int updateFileType(@Param("arg0")Long arg0,@Param("arg1")String arg1,@Param("arg2")Date arg2,@Param("arg3")Long arg3);



}
